Mô hình chi phí Phân_tích_thuật_toán

Ước tính hiệu quả thời gian phụ thuộc vào những gì chúng ta xác định là một bước. Để phân tích tương ứng hữu ích với thời gian thực hiện thực tế, thời gian cần thiết để thực hiện một bước phải được đảm bảo giới hạn ở trên bởi một hằng số. Cái phải quan tâm ở đây; chẳng hạn, một số phân tích tính phép cộng hai số là một bước. Giả định này có thể không được đảm bảo trong các bối cảnh nhất định. Ví dụ: nếu các số liên quan đến tính toán có thể lớn tùy ý, thời gian cần thiết cho một phép cộng không còn có thể được coi là không đổi.

Hai mô hình chi phí thường được sử dụng:[2][3][4][5][6]

  • mô hình chi phí thống nhất, còn được gọi là đo lường chi phí thống nhất (và các biến thể tương tự), gán một chi phí không đổi cho mọi hoạt động của máy, bất kể kích thước của các con số liên quan
  • mô hình chi phí logarit, còn được gọi là đo lường chi phí logarit (và các biến thể tương tự), gán chi phí cho mọi hoạt động của máy tỷ lệ thuận với số bit liên quan

Cái sau thì khó sử dụng hơn, vì vậy nó chỉ được sử dụng khi cần thiết, ví dụ như trong phân tích các thuật toán số học độ dài tùy ý, giống như các thuật toán được sử dụng trong mật mã.

Một điểm quan trọng thường bị bỏ qua là các giới hạn thấp hơn được công bố cho các vấn đề, thường được đưa ra cho một mô hình tính toán bị ràng buộc nhiều hơn so với tập hợp các hoạt động mà bạn có thể sử dụng trong thực tế và do đó có các thuật toán nhanh hơn những gì bạn nghĩa là có thể.[7]